package com.healthmgmt.app.service.impl;

import com.healthmgmt.app.domain.Baby;
import com.healthmgmt.app.mapper.BabyMapper;
import com.healthmgmt.app.service.IBabyService;
import com.healthmgmt.common.utils.DateUtils;
import com.healthmgmt.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 我的宝贝Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-06-29
 */
@Service
public class BabyServiceImpl implements IBabyService
{
    @Autowired
    private BabyMapper babyMapper;

    /**
     * 查询我的宝贝
     * 
     * @param babyId 我的宝贝主键
     * @return 我的宝贝
     */
    @Override
    public Baby selectBabyByBabyId(Long babyId)
    {
        return babyMapper.selectBabyByBabyId(babyId);
    }

    /**
     * 查询我的宝贝列表
     * 
     * @param baby 我的宝贝
     * @return 我的宝贝
     */
    @Override
    public List<Baby> selectBabyList(Baby baby)
    {
        return babyMapper.selectBabyList(baby);
    }

    /**
     * 新增我的宝贝
     * 
     * @param baby 我的宝贝
     * @return 结果
     */
    @Override
    public int insertBaby(Baby baby)
    {
        baby.setUserId(SecurityUtils.getUserId());
        baby.setCreateTime(DateUtils.getNowDate());
        return babyMapper.insertBaby(baby);
    }

    /**
     * 修改我的宝贝
     * 
     * @param baby 我的宝贝
     * @return 结果
     */
    @Override
    public int updateBaby(Baby baby)
    {
        baby.setUpdateTime(DateUtils.getNowDate());
        return babyMapper.updateBaby(baby);
    }

    /**
     * 批量删除我的宝贝
     * 
     * @param babyIds 需要删除的我的宝贝主键
     * @return 结果
     */
    @Override
    public int deleteBabyByBabyIds(Long[] babyIds)
    {
        return babyMapper.deleteBabyByBabyIds(babyIds);
    }

    /**
     * 删除我的宝贝信息
     * 
     * @param babyId 我的宝贝主键
     * @return 结果
     */
    @Override
    public int deleteBabyByBabyId(Long babyId)
    {
        return babyMapper.deleteBabyByBabyId(babyId);
    }
}
